package com.bawei.mall.product.domain.Vo;

import com.bawei.mall.product.domain.Po.OrderItem;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * @Author：liurui
 * @Package：com.bawei.mall.product.domain.Po
 * @Project：mall_cloud
 * @name：Order
 */
@Data
public class OrderListVo {
    private Integer id;                         // 订单ID

    private String orderSn;                     // 订单编号

    private Integer memberId;                   // 会员ID

    private String memberUsername;              // 会员用户名

    private List<OrderItem> orderItemList;      // 订单包含的商品列表

    private Integer payType;                    // 支付方式：1-支付宝, 2-微信支付, 3-银联支付, 等等

    private BigDecimal payAmount;               // 支付金额

    private BigDecimal totalAmount;             // 订单总金额

    private BigDecimal couponAmount;            // 优惠券抵扣金额

    private BigDecimal discountAmount;          // 折扣金额

    private BigDecimal promotionAmount;         // 促销优惠金额

    private String promotionInfo;               // 促销活动信息

    private BigDecimal freightAmount;           // 运费金额

    private BigDecimal integrationAmount;       // 积分抵扣金额

    private Integer integration;                // 使用积分数量

    private Integer growth;                     // 赠送成长值数量

    private Integer deleteStatus;               // 删除状态：0-未删除, 1-已删除

    private Integer confirmStatus;              // 确认收货状态：0-未确认, 1-已确认, 2-已完成

    private Integer autoConfirmDay;             // 自动确认收货天数

    private String receiverName;                // 收货人姓名

    private String receiverPhone;               // 收货人电话

    private String receiverProvince;            // 收货地址省份

    private String receiverCity;                // 收货地址城市

    private String receiverRegion;              // 收货地址区域

    private String receiverDetailAddress;       // 收货详细地址

    private String receiverPostCode;            // 收货地址邮政编码

    private Integer sourceType;                 // 订单来源类型：0-PC端, 1-APP端, 2-微信小程序, 等等

    private Integer orderType;                  // 订单类型：0-普通订单, 1-团购订单, 2-秒杀订单, 等等

    private Integer status;                     // 订单状态：0-待付款, 1-待发货, 2-已发货, 3-已完成, 4-已关闭, 等等

    private Date createTime;                    // 订单创建时间
}
